Webhook para backup externo
O Webhook Adicional permite enviar automaticamente para um endpoint externo todas as mensagens, status, criações e atualizações de sessões registradas pelo bot. Esses dados são armazenados no banco de dados através do Consumer, e, quando salvos, podem ser enviados simultaneamente para um webhook adicional.
O que será enviado?
Sessões
O webhook enviará dados sobre criação e atualização de sessões. As atualizações incluem a adição de tags, variáveis ou finalização da sessão.
Criação da sessão: Os seguintes dados são enviados no início da conversa:
Campo | Descrição |
---|---|
bolId | Identificador único do bot |
sessionId | Identificador único da sessão |
channel | Canal utilizado na conversa |
contact | Identificação do contato |
numberchip | Número configurado no bot (lado empresa) |
createdAt | Data/hora da criação da sessão |
Método: POST
Url: baseUrl/sessions (identificar na criação do projeto) Headers:
<label:value>
(optional) Payload:{
botId, sessionId, channel, contact, numberchip, createdAt}
Atualização de sessões: Sempre que uma sessão for atualizada ou finalizada, os seguintes dados serão enviados:
Campo | Descrição |
---|---|
sessionId | Identificador único da sessão |
tags | Tags identificadas na sessão |
variable | Atualização de variáveis durante a sessão |
finishedAt | Data/hora da finalização da conversa |
sessionDuration | Duração da sessão em milissegundos |
finished | Indicativo de finalização ou não da sessão |
updatedAt | Data/hora da atualização corrente |
Método: PUT
Url: baseUrl/sessions/:sessionId Payload:
{
sessionId, finished, finishedAt, sessionDuration, updatedAt, tags, variables,}
Mensagens
Todos os envios de mensagens e atualizações de status serão enviados para o webhook.
Criação de mensagens: Sempre que uma nova mensagem for registrada, os seguintes dados serão enviados:
Campo | Descrição |
---|---|
sessionId | Identificador único da sessão |
messageld | Identificação única da mensagem |
text | Texto (ou link da mídia) da mensagem corrente |
type | Tipo da mensagem (text, media, etc..) |
clientSent | Indicativo da direção da mensagem (true se enviada pelo cliente) |
when | Data/hora do envio |
Método: POST
Url: baseUrl/messages Payload:
{
sessionId, messageId, text, type, clientSent, when}
Status
Criação de status: As atualizações de status das mensagens serão enviadas automaticamente.
Campo | Descrição |
---|---|
messageld | Identificação única da mensagem |
status | Descritivo do evento de status (sent, read, etc...) |
when | Data / hora do envio |
Método: POST
Url: baseUrl/messages/status/:messageId Payload:
{
messageId, status, when,}
Eventos
O webhook também captura eventos especiais, como ações de IA, requisições de API e passagens por blocos que contenham tags.
Campo | Descrição |
---|---|
eventId | Identificador único do evento |
sessionId | Identificador único da sessão |
type | Identificador do tipo do evento corrente |
value | Descritivo do evento corrente |
when | Data / hora do evento |
Criação de eventos: será enviado toda a vez que um evento é registrado.
Método: POST
Url: baseUrl/event Payload:
{
eventId, sessionId, type, value, when}
Configuração
Para ativar essa funcionalidade em um bot específico, siga os passos abaixo:
- adicione a configuração no Consumer: No arquivo de variáveis de ambiente do Consumer, adicione uma chave com o botId e o endpoint base para envio dos dados.
- envio automático dos dados: Após essa configuração, sempre que uma sessão ou mensagem for registrada, os dados serão enviados automaticamente para o webhook definido.